
import axios from 'axios'
const actions = {
  // 获取账号积分
  // context上下文，语境，和state有相同的属性和方法
  getPoint(context) {
    axios.get('/getpoint', {params: {uid: 111}})
      .then(res => {
        // 获取积分后，更新积分
        context.commit('getPoint', res.data.point);
      })
  },
  // 获取账户等级
  // context是上下文，{dispatch,commit}是ES6的语法，可以直接写commit(muitation)以及dispatch(action)
  async getLevel({dispatch,commit}) {
    // 积分越多，等级越高，想要知道等级，需要先获取积分
    await dispatch('getPoint'); // 发请求获取积分
    axios.get('/getLevel', state.point) // 发请求，根据积分获取等级
      .then(res => {
        // 获取等级之后，更新数据
        context.commit('getLevel', res.data.level);
      })
  }
}

export default actions